﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace FacialClub.Models.Entities
{
    /// <summary>
    /// PaymentMethod
    /// </summary>
    [Bind(Include = "PaymentMethodName,PaymentMethodType,IsClientVisible,IsActive,UserCreated,CreatedDate,UserModified,ModifiedDate")]
    [MetadataType(typeof(PaymentMethodMetaData))]
    public partial class PaymentMethod
    {
        /// <summary>
        /// Payment Method Meta Data for Validation
        /// </summary>
        [Bind(Exclude = "PaymentMethodId")]
        public class PaymentMethodMetaData
        {
            /// <summary>
            /// PaymentMethodId
            /// </summary>
            [ScaffoldColumn(false)]
            public object PaymentMethodId { get; set; }

            /// <summary>
            /// Payment Method Name
            /// </summary>
            [Required(ErrorMessage = "Payment Method is required")]
            [StringLength(160)]
            [DisplayName("Payment Method")]
            public string PaymentMethodName { get; set; }

            /// <summary>
            /// Payment Method Type
            /// </summary>
            [Required(ErrorMessage = "Payment Method Type is required")]
            [StringLength(160)]
            [DisplayName("Payment Method Type")]
            public string PaymentMethodType { get; set; }

            /// <summary>
            /// Visibility to Client
            /// </summary>
            public bool IsClientVisible { get; set; }

            /// <summary>
            /// Status of the Payment Method
            /// </summary>
            public bool IsActive { get; set; }

            /// <summary>
            /// User Created
            /// </summary>
            public DateTime UserCreated { get; set; }

            /// <summary>
            /// Creation Date
            /// </summary>
            public DateTime CreatedDate { get; set; }

            /// <summary>
            /// User Modified
            /// </summary>
            public DateTime UserModified { get; set; }

            /// <summary>
            /// Modified Date
            /// </summary>
            public DateTime ModifiedDate { get; set; }
        }
    }
}